package com.magina.calendario;

/**
 * Created by IntelliJ IDEA.
 * User: marcioat
 * Date: 22/05/11
 * Time: 01:59
 */


import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.*;

import static com.magina.calendario.CategoriaProvider.Categoria.CONTENT_URI;
import static com.magina.calendario.CategoriaProvider.Categoria.TEXT;

public class frmCategoria extends ListActivity
{

    private Cursor mCursor;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.frm_categoria);
        final TextView NomeCategoria;
        NomeCategoria = (TextView)findViewById(R.id.txtCategoria);

        Button btnGravar = (Button) findViewById(R.id.btnGetCategoria);
        btnGravar.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                if (NomeCategoria.getText().toString().trim().length() == 0) {
                    AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext());
                    builder.setMessage("Digite uma Categoria")
                            //.setCancelable(false)
                            .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int id) {
                                    dialog.cancel();
                                }
                            });
                    AlertDialog alert = builder.create();
                    alert.show();
                } else {
                    addNote(NomeCategoria.getText().toString());
                    NomeCategoria.setText("");
                    setResult(RESULT_OK);
                }
                //finish();
            }
        });

        Button btnSair;
        btnSair = (Button) findViewById(R.id.btnGravar);
        btnSair.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                setResult(RESULT_OK);
                finish();
            }
        });

        mCursor = this.getContentResolver().
                query(CONTENT_URI, null, null, null, null);
        this.startManagingCursor(mCursor);
        ListAdapter adapter = new SimpleCursorAdapter(
        		              // O primeiro parametro eh o context.
        		              this,
        		              // O segundo, o layout de cada item.
        		              R.layout.list_item,
        		              // O terceiro parametro eh o cursor que contem os dados
        		              // a serem mostrados
                              mCursor,
        		              // o quarto parametro eh um array com as colunas do cursor
        		              // que serao mostradas
        		              new String[] {TEXT},
        		              // o quinto parametro eh um array (com o mesmo tamanho
        		              // do anterior) com os elementos que receberao
        		              // os dados.
        		              new int[] {R.id.txtCategoGrid});

//        LinkedList<domCategoria> listCategoria = new LinkedList<domCategoria>();
//
//        if (mCursor.moveToFirst())
//        {
//            do
//            {
//                domCategoria objCategoria = new domCategoria();
//                objCategoria._id = mCursor.getInt(0);
//                objCategoria.nomCategoria = mCursor.getString(1);
//                listCategoria.add(objCategoria);
//                }
//            while (mCursor.moveToNext());
//            }
//        mCursor.close();
//        setListAdapter((ListAdapter)listCategoria);

        setListAdapter(adapter);

        final ListView listView;
        listView = getListView();

        listView.setItemsCanFocus(false);
        listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);


    }

    @Override
    public void onBackPressed()
    {
        try
        {
            if(!mCursor.isClosed())
                mCursor.close();
        }
        catch(Exception ex){}
        finally
        {
            this.finish();
        }
    }

    @Override
    public void onDestroy()
    {
        try
        {
            if(!mCursor.isClosed())
                mCursor.close();
        }
        catch(Exception ex){}
        finally
        {
            super.onDestroy();
        }

    }


    protected void addNote(String text)
    {
        ContentValues values = new ContentValues();
        values.put(TEXT, text);
        getContentResolver().insert(CONTENT_URI, values);
    }

}
